home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / pcboard / tickle16.zip / TKL.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-10-04  |  23KB  |  1,314 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Boolean  BOOLEAN007
  26.     Boolean  BOOLEAN008
  27.     Boolean  BOOLEAN009
  28.     Boolean  BOOLEAN010
  29.     Boolean  BOOLEAN011
  30.     Boolean  BOOLEAN012
  31.     Boolean  BOOLEAN013
  32.     Boolean  BOOLEAN014
  33.     Boolean  BOOLEAN015
  34.     Boolean  BOOLEAN016
  35.     Integer  INTEGER001
  36.     Integer  INTEGER002
  37.     Integer  INTEGER003
  38.     Integer  INTEGER004
  39.     Integer  INTEGER005
  40.     Integer  INTEGER006
  41.     Integer  INTEGER007
  42.     Integer  INTEGER008
  43.     Integer  INTEGER009
  44.     Integer  INTEGER010
  45.     Real     REAL001
  46.     Real     REAL002
  47.     Real     REAL003
  48.     String   TSTRING001(49)
  49.     String   STRING002
  50.     String   STRING003
  51.     String   STRING004
  52.     String   STRING005
  53.     String   STRING006
  54.     String   STRING007
  55.     String   STRING008
  56.     String   STRING009
  57.     String   STRING010
  58.     String   STRING011
  59.     String   TSTRING012(24)
  60.     String   STRING013
  61.     String   STRING014
  62.     String   STRING015
  63.     String   STRING016
  64.     String   STRING017
  65.     String   STRING018
  66.     String   STRING019
  67.     String   STRING020
  68.     String   STRING021
  69.     String   STRING022
  70.     String   STRING023
  71.     String   STRING024
  72.     String   STRING025
  73.     String   STRING026
  74.     String   STRING027
  75.     String   STRING028
  76.     String   STRING029
  77.     String   STRING030
  78.     String   STRING031
  79.     String   STRING032
  80.     String   STRING033
  81.     String   STRING034
  82.     String   STRING035
  83.     Byte     BYTE001
  84.     Int      INT001
  85.     Int      INT002
  86.     Int      INT003
  87.     Int      INT004
  88.     Int      INT005
  89.     Int      INT006
  90.     Int      INT007
  91.     Int      INT008
  92.     Int      INT009
  93.     Int      INT010
  94.     Int      INT011
  95.     Int      INT012
  96.     Int      INT013
  97.     Int      INT014
  98.     Int      INT015
  99.     Int      INT016
  100.     Int      INT017
  101.     Int      INT018
  102.     Int      INT019
  103.     Declare  Procedure PROC001()
  104.  
  105. ;------------------------------------------------------------------------------
  106.  
  107.     If ((STRING002 == "") || (STRING002 == "MENU")) BOOLEAN010 = 1
  108.     STRING010 = PPEPath() + LTrim(String(PcbNode()), " ") + ".FLG"
  109.     If (Exist(STRING010)) Delete STRING010
  110.     INT003 = 1
  111.     Gosub LABEL019
  112.     STRING026 = PPEPath() + "TKLTEXT" + LangExt()
  113.     Gosub LABEL044
  114.     If (DErr(0)) Then
  115.         Newline
  116.         PrintLn ReadLine(STRING026, 2)
  117.         Newline
  118.         PrintLn ReadLine(STRING026, 3)
  119.         Newline
  120.         Log "Cannot open TICKLE.DBF (DataBase) - Aborting", 0
  121.         Wait
  122.     Else
  123.         Gosub LABEL021
  124.         If (DErr(0)) Then
  125.             Newline
  126.             PrintLn ReadLine(STRING026, 4)
  127.             Newline
  128.             PrintLn ReadLine(STRING026, 3)
  129.             Newline
  130.             Log "Cannot open TICKLE.NDX (Index) - Aborting", 0
  131.             Wait
  132.         Else
  133.             Gosub LABEL005
  134.             Gosub LABEL049
  135.             If (STRING003 == "") Log "'Tickle File' entered by user", 0
  136.             If ((STRING002 == "MENU") || (STRING003 <> "")) Gosub LABEL014
  137.             Goto LABEL020
  138.             End
  139.             :LABEL001
  140.             STRING006 = ReplaceStr(STRING006, ",", " ")
  141.             If ((InStr(STRING006, "-") == 0) || (InStr(STRING006, "-") == 1)) Return
  142.             STRING017 = STRING006
  143.             STRING006 = ""
  144.             Tokenize STRING017
  145.             If (TokCount() == 0) Return
  146.             For INT008 = 1 To Len(STRING017)
  147.                 STRING018 = GetToken()
  148.                 If (STRING018 == "") Break
  149.                 If (InStr(STRING018, "-") == 0) Then
  150.                     STRING006 = STRING006 + STRING018 + " "
  151.                     Continue
  152.                 Endif
  153.                 STRING010 = Mid(STRING018, 1, InStr(STRING018, "-") - 1)
  154.                 If (STRING010 <> "") STRING011 = Mid(STRING018, InStr(STRING018, "-") + 1, Len(STRING018))
  155.                 INT009 = S2I(STRING010, 10)
  156.                 INT010 = S2I(STRING011, 10)
  157.                 If (INT009 < 1) Then
  158.                     If (INT009 == 0) STRING010 = STRING018
  159.                     Newline
  160.                     PrintLn ReadLine(STRING026, 26), STRING010, ReadLine(STRING026, 27)
  161.                     Newline
  162.                     Continue
  163.                 Endif
  164.                 If (INT010 > 24) Then
  165.                     Newline
  166.                     PrintLn ReadLine(STRING026, 26), INT010, ReadLine(STRING026, 27)
  167.                     Newline
  168.                     Continue
  169.                 Endif
  170.                 If (INT010 >= INT009) Then
  171.                     For INT005 = INT009 To INT010
  172.                         STRING006 = STRING006 + LTrim(I2S(INT005, 10), " ") + " "
  173.                     Next
  174.                     Continue
  175.                 Endif
  176.                 Newline
  177.                 PrintLn ReadLine(STRING026, 5), STRING018, ReadLine(STRING026, 6)
  178.             Next
  179.             Return
  180.             :LABEL002
  181.             STRING014 = PPEPath() + LTrim(String(PcbNode()), " ") + ".FLG"
  182.             If (Exist(STRING014)) Then
  183.                 FOpen 1, STRING014, 1, 0
  184.             Else
  185.                 FCreate 1, STRING014, 1, 0
  186.             Endif
  187.             BOOLEAN006 = 1
  188.             STRING010 = Chr(13) + "FLAG "
  189.             For INT007 = 1 To INT003 - 1
  190.                 STRING010 = STRING010 + TSTRING012(INT007) + " "
  191.                 BOOLEAN006 = 0
  192.                 If (Len(STRING010) > 230) Then
  193.                     FPutLn 1, STRING010
  194.                     STRING010 = Chr(13) + "FLAG "
  195.                 Endif
  196.             Next
  197.             FPutLn 1, STRING010
  198.             FClose 1
  199.             Return
  200.             :LABEL003
  201.             INT002 = 0
  202.             For INT007 = 2 To 25
  203.                 If (DGet(0, DName(0, INT007)) == "            ") Then
  204.                     INT002 = INT007 - 1
  205.                     Break
  206.                 Endif
  207.             Next
  208.             Return
  209.             :LABEL004
  210.             BOOLEAN015 = 0
  211.             For INT007 = 2 To 25
  212.                 If (Upper(Trim(DGet(0, DName(0, INT007)), " ")) == Upper(Trim(STRING002, " "))) Then
  213.                     BOOLEAN015 = 1
  214.                     Break
  215.                 Endif
  216.             Next
  217.             Return
  218.             :LABEL005
  219.             STRING007 = Upper(RTrim(U_Name(), " "))
  220.             DSeek 0, STRING007
  221.             If (DChkStat(0) == 0) Then
  222.                 Gosub LABEL003
  223.             Else
  224.                 SPrintLn ReadLine(STRING026, 7)
  225.                 INT007 = DRecCount(0) + 1
  226.                 DNew 0
  227.                 DLockR 0, INT007
  228.                 DBlank 0
  229.                 DPut 0, "usr_name", STRING007
  230.                 DAdd 0
  231.                 INT002 = 1
  232.             Endif
  233.             Return
  234.             :LABEL006
  235.             Newline
  236.             If (InStr(STRING002, "SHORLI")) Goto LABEL007
  237.             Select Case (STRING003)
  238.                 Case "138"
  239.                     DispFile PPEPath() + "pcbt138", 1 + 4
  240.                     Log "Insufficient time remaining to download (@OPTEXT@)", 0
  241.                 Case "159"
  242.                     DispFile PPEPath() + "pcbt159", 1 + 4
  243.                     Log "(@OPTEXT@) Download bytes left available are @BYTESLEFT@", 0
  244.                 Case "555"
  245.                     DispFile PPEPath() + "pcbt555", 1 + 4
  246.                     Log "Batch limit reached.  @OPTEXT@ was not added to the batch.", 0
  247.                 Case "669"
  248.                     DispFile PPEPath() + "pcbt669", 1 + 4
  249.                     Log "Downloading @OPTEXT@ would exceed your file ratio.", 0
  250.                 Case "670"
  251.                     DispFile PPEPath() + "pcbt670", 1 + 4
  252.                     Log "Downloading @OPTEXT@ would exceed your byte ratio.", 0
  253.                 Case "674"
  254.                     DispFile PPEPath() + "pcbt674", 1 + 4
  255.                     Log "Downloading @OPTEXT@ would exceed your file limit.", 0
  256.                 Case "675"
  257.                     DispFile PPEPath() + "pcbt675", 1 + 4
  258.                     Log "Downloading @OPTEXT@ would exceed your byte limit.", 0
  259.             End Select
  260.             Goto LABEL008
  261.             :LABEL007
  262.             Select Case (STRING003)
  263.                 Case "138"
  264.                     PrintLn "     @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
  265.                     PrintLn "     @X0EInsufficient time remaining to download @X0A(@X0F@OPTEXT@@X0A)"
  266.                     PrintLn "     @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
  267.                     Newlines 2
  268.                     Wait
  269.                 Case "159"
  270.                     PrintLn "     @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
  271.                     PrintLn "     @X0A(@X0F@OPTEXT@@X0A) @X0ESorry, @FIRST@, download bytes left available are @BYTESLEFT@"
  272.                     PrintLn "     @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
  273.                     Newlines 2
  274.                     Wait
  275.                 Case "655"
  276.                     PrintLn "     @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
  277.                     PrintLn "     @X0EBatch limit reached.  @X0F@OPTEXT@ @X0Ewas not added to the batch."
  278.                     PrintLn "     @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
  279.                     Newlines 2
  280.                     Wait
  281.                 Case "669"
  282.                     PrintLn "     @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
  283.                     PrintLn "     @X0EDownloading @X0F@OPTEXT@ @X0Ewould exceed your file ratio."
  284.                     PrintLn "     @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
  285.                     Newlines 2
  286.                     Wait
  287.                 Case "670"
  288.                     PrintLn "     @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
  289.                     PrintLn "     @X0EDownloading @X0F@OPTEXT@ @X0Ewould exceed your byte ratio."
  290.                     PrintLn "     @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
  291.                     Newlines 2
  292.                     Wait
  293.                 Case "674"
  294.                     PrintLn "     @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
  295.                     PrintLn "     @X0EDownloading @X0F@OPTEXT@ @X0Ewould exceed your file limit."
  296.                     PrintLn "     @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
  297.                     Newlines 2
  298.                     Wait
  299.                 Case "675"
  300.                     PrintLn "     @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
  301.                     PrintLn "     @X0EDownloading @X0F@OPTEXT@ @X0Ewould exceed your byte limit."
  302.                     PrintLn "     @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
  303.                     Newlines 2
  304.                     Wait
  305.             End Select
  306.             Goto LABEL020
  307.             :LABEL008
  308.             Newline
  309.             Return
  310.             :LABEL009
  311.             DispFile PPEPath() + "info", 1 + 4
  312.             BOOLEAN001 = 1
  313.             Return
  314.             :LABEL010
  315.             Newline
  316.             DispFile PPEPath() + "help", 1 + 4
  317.             BOOLEAN008 = 1
  318.             Return
  319.             :LABEL011
  320.             If (BOOLEAN002) Goto LABEL012
  321.             Gosub LABEL042
  322.             BOOLEAN002 = 1
  323.             Goto LABEL013
  324.             :LABEL012
  325.             Newline
  326.             :LABEL013
  327.             STRING006 = ""
  328.             STRING004 = ReadLine(STRING026, 8)
  329.             InputStr STRING004, STRING006, 14, 2, Mask_Ascii(), 256 + 8
  330.             If (STRING006 == "") Then
  331.                 Newline
  332.                 Return
  333.             Endif
  334.             INT008 = S2I(STRING006, 10)
  335.             STRING006 = String(INT008)
  336.             If ((INT008 > 24) || (INT008 < 1)) Then
  337.                 Newline
  338.                 PrintLn ReadLine(STRING026, 9)
  339.                 Newline
  340.                 Return
  341.             Else
  342.                 STRING013 = "desc" + Trim(STRING006, " ")
  343.                 STRING010 = "file" + Trim(STRING006, " ")
  344.             Endif
  345.             If (DGet(0, STRING010) <> "            ") Then
  346.                 BOOLEAN009 = 1
  347.                 Gosub LABEL024
  348.                 BOOLEAN009 = 0
  349.             Else
  350.                 Newline
  351.                 PrintLn ReadLine(STRING026, 58)
  352.             Endif
  353.             Newline
  354.             Return
  355.             :LABEL014
  356.             STRING006 = ""
  357.             If (!BOOLEAN001 && (STRING003 <> "")) Then
  358.                 SaveScrn
  359.                 Gosub LABEL003
  360.                 Gosub LABEL006
  361.                 Gosub LABEL009
  362.                 :LABEL015
  363.                 Newline
  364.                 PrintLn "    @X0BJust hit @X0EENTER @X0Bto not add @X0D", STRING002, " @X0Bto your Tickle Database...."
  365.                 Newline
  366.                 STRING006 = "N"
  367.                 If (BOOLEAN014 && ((STRING003 == "138") || (STRING003 == "159"))) Then
  368.                     STRING004 = "    " + ReadLine(STRING026, 10)
  369.                     InputStr STRING004, STRING006, 14, 1, "CNY", 8 + 256 + 2 + 4
  370.                 Else
  371.                     STRING004 = "    " + ReadLine(STRING026, 74)
  372.                     InputStr STRING004, STRING006, 14, 1, "NY", 8 + 256 + 2 + 4
  373.                 Endif
  374.                 If (STRING006 == "") STRING006 = "N"
  375.                 If (STRING006 == "C") Then
  376.                     DUnlock 0
  377.                     DnCloseAll 0
  378.                     DClose 0
  379.                     BOOLEAN014 = 0
  380.                     DOpen 5, STRING025 + "BANK.DBF", 0
  381.                     DnOpen 5, STRING025 + "BANK.NDX"
  382.                     STRING007 = Upper(RTrim(U_Name(), " "))
  383.                     DSeek 5, STRING007
  384.                     If (DChkStat(5) == 0) Then
  385.                         Gosub LABEL017
  386.                         FPutLn 7, "************ End of Session *************"
  387.                         FPutLn 7
  388.                         FClose 7
  389.                         DnCloseAll 5
  390.                         DClose 5
  391.                         If (BOOLEAN016) Then
  392.                             Newline
  393.                             STRING006 = "Y"
  394.                             STRING004 = "@X0EAttempt to @X0CRe-Flag @X0Efile for downloading: @X0F" + STRING002
  395.                             InputYN STRING004, STRING006, 14
  396.                             If (STRING006 == "Y") Then
  397.                                 KbdStuff "FLAG " + STRING002 + Chr(13)
  398.                                 Goto LABEL020
  399.                             Endif
  400.                         Endif
  401.                         Gosub LABEL044
  402.                         Gosub LABEL021
  403.                         Goto LABEL015
  404.                         Goto LABEL016
  405.                     Endif
  406.                     Newline
  407.                     PrintLn "    @X0CYou are not in the Bank Database@X0F....No information to display@X07"
  408.                     Delay 18
  409.                     DnCloseAll 5
  410.                     DClose 5
  411.                     Gosub LABEL044
  412.                     Gosub LABEL021
  413.                     Goto LABEL015
  414.                 Endif
  415.                 :LABEL016
  416.                 If ((STRING006 == "Y") || (STRING006 == YesChar())) Then
  417.                     Newline
  418.                     STRING006 = "ADD VIOLATION"
  419.                     BOOLEAN010 = 1
  420.                     Gosub LABEL027
  421.                 Endif
  422.             Else
  423.                 If (!BOOLEAN008 && (STRING003 == "")) Gosub LABEL010
  424.                 STRING004 = ReadLine(STRING026, 11)
  425.                 InputStr STRING004, STRING006, 14, 1, Mask_Alpha(), 256 + 8
  426.                 If (STRING006 == "A") Then
  427.                     Gosub LABEL027
  428.                     If (STRING003 <> "") Goto LABEL020
  429.                     If (STRING006 == "") Goto LABEL014
  430.                 Endif
  431.                 If (STRING006 == "") Goto LABEL020
  432.                 If (((BOOLEAN002 && (STRING006 <> "D")) && (STRING006 <> "F")) && (STRING006 <> "E")) BOOLEAN002 = 0
  433.                 If (STRING006 == "D") Gosub LABEL035
  434.                 If (STRING006 == "E") Gosub LABEL011
  435.                 If (STRING006 == "F") Gosub LABEL038
  436.                 If (STRING006 == "H") Gosub LABEL010
  437.                 If (STRING006 == "L") Then
  438.                     Gosub LABEL042
  439.                     BOOLEAN002 = 1
  440.                 Endif
  441.                 If (STRING006 == "W") Gosub LABEL043
  442.                 Goto LABEL014
  443.                 :LABEL017
  444.                 Gosub LABEL056
  445.                 DPut 5, "last_d_acc", String(Date())
  446.                 INT004 = DGet(5, "banktime")
  447.                 INTEGER006 = DGet(5, "bankbytes")
  448.                 STRING032 = DGet(5, "last_d_acc")
  449.                 STRING033 = DGet(5, "bytewddate")
  450.                 STRING034 = DGet(5, "timewddate")
  451.                 INTEGER004 = DGet(5, "bytewd")
  452.                 INTEGER008 = DGet(5, "timewd")
  453.                 If (STRING033 <> STRING032) INTEGER004 = 0
  454.                 If (STRING034 <> STRING032) INTEGER008 = 0
  455.                 Gosub LABEL018
  456.                 FAppend 7, STRING025 + "NODE" + String(PcbNode()) + ".LOG", 2, 0
  457.                 FPutLn 7, "────────────── " + Mixed(U_Name()) + " ──────────────"
  458.                 FPutLn 7
  459.                 FPutLn 7, "               Date: ", Date()
  460.                 FPutLn 7, "               Time: ", Time()
  461.                 FPutLn 7, "     ~~~~ TICKLE FILE ACCESS ~~~~~"
  462.                 FPutLn 7, "════════════════════════════════════════"
  463.                 FPutLn 7, "        Bank Bytes : ", INTEGER006
  464.                 FPutLn 7, "         Bank Time : ", INT004
  465.                 FPutLn 7, "    Time W/D Today : ", INTEGER008
  466.                 FPutLn 7, "    Byte W/D Today : ", INTEGER004
  467.                 Newline
  468.                 PrintLn "    @X0EYou current Bank Balances are:  @X0C", INTEGER006, " @X0Abytes"
  469.                 PrintLn "    @X0E                                @X0C", INT004, " @X0Amins."
  470.                 Newline
  471.                 STRING006 = ""
  472.                 STRING004 = "    @X0EWithdrawl @X0CT@X0F)@X0Eime, or @X0CB@X0F)@X0Eytes @X0F(Enter=quit)"
  473.                 InputStr STRING004, STRING006, 14, 1, "BT", 8 + 4 + 2 + 256
  474.                 Select Case (STRING006)
  475.                     Case "T"
  476.                         Gosub LABEL055
  477.                         Return
  478.                     Case "B"
  479.                         Gosub LABEL054
  480.                         Return
  481.                     Case Else
  482.                         Newline
  483.                         Return
  484.                 End Select
  485.                 Newline
  486.                 Return
  487.                 :LABEL018
  488.                 STRING010 = STRING025 + "bank" + String(PcbNode()) + ".cfg"
  489.                 If (Exist(STRING010)) Then
  490.                     FOpen 6, STRING010, 0, 0
  491.                 Else
  492.                     FOpen 6, STRING025 + "bank.cfg", 0, 0
  493.                 Endif
  494.                 GetUser
  495.                 While (1) Do
  496.                     FGet 6, STRING010
  497.                     If (Ferr(6)) Then
  498.                         Newlines 5
  499.                         PrintLn "     @X0CSecurity Level not found@X0F......@X0C@X0EInform Sysop ASAP@X0F!!!@X07"
  500.                         Log "Security Level not found in BANK Configuration file", 0
  501.                         FPutLn 7, "Security Level ", String(U_Sec), " not found in BANK Configuration file"
  502.                         Newline
  503.                         PrintLn "      @X0F......Hit any Key to return to BBS....."
  504.                         PROC001()
  505.                         Goto LABEL020
  506.                     Endif
  507.                     If (Left(STRING010, "'")) Continue
  508.                     Tokenize STRING010
  509.                     STRING031 = GetToken()
  510.                     If (ToInt(STRING031) <> U_Sec) Then
  511.                         Continue
  512.                         Continue
  513.                     Endif
  514.                     STRING010 = GetToken()
  515.                     STRING010 = GetToken()
  516.                     INT019 = ToInt(GetToken())
  517.                     INTEGER005 = ToInteger(GetToken())
  518.                     STRING010 = GetToken()
  519.                     STRING010 = GetToken()
  520.                     STRING010 = Upper(GetToken())
  521.                     STRING010 = Upper(GetToken())
  522.                     Break
  523.                 EndWhile
  524.                 FClose 6
  525.                 Return
  526.                 :LABEL019
  527.                 INT001 = TokCount()
  528.                 Select Case (INT001)
  529.                     Case 1
  530.                         STRING002 = "MENU"
  531.                     Case 2
  532.                         STRING002 = GetToken()
  533.                         STRING003 = GetToken()
  534.                     Case 3
  535.                         STRING002 = GetToken()
  536.                         STRING003 = GetToken()
  537.                         STRING010 = GetToken()
  538.                         INTEGER009 = S2I(STRING010, 10)
  539.                     Case Else
  540.                         SPrintLn ReadLine(STRING026, 12)
  541.                         Log "Too few or too many parameters in TKL.PPE Command Line", 0
  542.                         INT001 = 1
  543.                 End Select
  544.                 Return
  545.             Endif
  546.         Endif
  547.     Endif
  548.     :LABEL020
  549.     If (BOOLEAN003 || BOOLEAN007) Gosub LABEL047
  550.     If (BOOLEAN007) Then
  551.         Gosub LABEL002
  552.         KbdFile STRING014
  553.         Log "User Flagged Files from TKL for D/L", 0
  554.     Endif
  555.     DUnlock 0
  556.     DnCloseAll 0
  557.     DClose 0
  558.     RestScrn
  559.     End
  560.     :LABEL021
  561.     If (Exist(PPEPath() + "tickle.ndx")) Goto LABEL022
  562.     DnCreate 0, PPEPath() + "tickle", "usr_name"
  563.     Goto LABEL023
  564.     :LABEL022
  565.     DnOpen 0, PPEPath() + "tickle"
  566.     :LABEL023
  567.     Return
  568.     STRING009 = LTrim(String(INT002), " ")
  569.     STRING008 = "file" + STRING009
  570.     STRING013 = "desc" + STRING009
  571.     Return
  572.     :LABEL024
  573.     If (BOOLEAN009) Goto LABEL025
  574.     STRING016 = ""
  575.     STRING004 = ReadLine(STRING026, 13)
  576.     InputStr STRING004, STRING016, 14, 1, "MASK_ASCII()", 8192 + 16384 + 256 + 8
  577.     Goto LABEL026
  578.     :LABEL025
  579.     STRING016 = "Y"
  580.     :LABEL026
  581.     If ((STRING016 == "Y") || (STRING016 == YesChar())) Then
  582.         STRING016 = ""
  583.         Newline
  584.         STRING004 = ReadLine(STRING026, 14)
  585.         InputStr STRING004, STRING016, 14, 15, Mask_Ascii(), 4 + 2
  586.         If (STRING016 == "") Return
  587.         DPut 0, STRING013, STRING016
  588.         Newline
  589.     Endif
  590.     Return
  591.     :LABEL027
  592.     If (STRING006 <> "ADD VIOLATION") Then
  593.         Gosub LABEL003
  594.         If (INT002 == 0) Then
  595.             Newline
  596.             PrintLn ReadLine(STRING026, 15)
  597.             Newline
  598.             Return
  599.         Endif
  600.     Endif
  601.     If (BOOLEAN010) Then
  602.         INT005 = 0
  603.         If (STRING006 <> "ADD VIOLATION") Then
  604.             Newline
  605.             STRING006 = ""
  606.             STRING004 = ReadLine(STRING026, 16)
  607.             InputStr STRING004, STRING006, 14, 100, Mask_Ascii(), 256 + 8
  608.             Newline
  609.             If (STRING006 == "") Return
  610.             Tokenize STRING006
  611.             INT005 = TokCount()
  612.             Goto LABEL028
  613.         Endif
  614.         STRING006 = STRING002
  615.         :LABEL028
  616.         If (INT005 > 0) Then
  617.             If (STRING019 <> "") Then
  618.                 STRING019 = Trim(STRING019, " ")
  619.                 FOpen 3, STRING019, 0, 0
  620.             Endif
  621.             BOOLEAN011 = 0
  622.             For INT006 = 1 To INT005
  623.                 STRING002 = GetToken()
  624.                 STRING002 = Trim(STRING002, " ")
  625.                 If (Len(STRING002) > 12) Then
  626.                     PrintLn ReadLine(STRING026, 17), STRING002
  627.                     PrintLn ReadLine(STRING026, 18)
  628.                     Continue
  629.                 Endif
  630.                 If (BOOLEAN012) Then
  631.                     Frewind 3
  632.                     STRING020 = Left(STRING002, 1)
  633.                     BOOLEAN011 = 0
  634.                     Gosub LABEL031
  635.                     Goto LABEL029
  636.                 Endif
  637.                 BOOLEAN011 = 1
  638.                 :LABEL029
  639.                 Gosub LABEL004
  640.                 If (BOOLEAN015) Then
  641.                     PrintLn ReadLine(STRING026, 73)
  642.                     Wait
  643.                     Continue
  644.                 Endif
  645.                 If (BOOLEAN011) Then
  646.                     STRING008 = "file" + LTrim(String(INT002), " ")
  647.                     STRING013 = "desc" + LTrim(String(INT002), " ")
  648.                     DPut 0, STRING008, STRING002
  649.                     PrintLn ReadLine(STRING026, 19), STRING002
  650.                     Newline
  651.                     Gosub LABEL024
  652.                     Newline
  653.                     INT008 = INT002
  654.                     Gosub LABEL003
  655.                     If ((INT002 == 0) && (INT008 == 24)) Then
  656.                         Newline
  657.                         PrintLn ReadLine(STRING026, 20)
  658.                         Newline
  659.                         Break
  660.                     Endif
  661.                     Continue
  662.                 Endif
  663.                 PrintLn ReadLine(STRING026, 21), STRING002, ReadLine(STRING026, 22)
  664.             Next
  665.             If (BOOLEAN012) FClose 3
  666.             INT005 = 0
  667.             Log "User added file(s) to the TKL database", 0
  668.             Goto LABEL030
  669.         Endif
  670.         If (INT002 == 0) Then
  671.             Newline
  672.             PrintLn ReadLine(STRING026, 15)
  673.             Newline
  674.             Return
  675.             Goto LABEL030
  676.         Endif
  677.         Gosub LABEL004
  678.         If (BOOLEAN015) Then
  679.             PrintLn ReadLine(STRING026, 73)
  680.             Wait
  681.             Goto LABEL030
  682.         Endif
  683.         STRING008 = "file" + LTrim(String(INT002), " ")
  684.         STRING013 = "desc" + LTrim(String(INT002), " ")
  685.         DPut 0, STRING008, STRING002
  686.         Gosub LABEL024
  687.         Log "User added a file to the TKL database", 0
  688.     Endif
  689.     :LABEL030
  690.     Newline
  691.     Return
  692.     :LABEL031
  693.     FGet 3, STRING022
  694.     If (Ferr(3)) Return
  695.     If (Left(STRING022, 1) <> "%") Then
  696.         STRING010 = STRING022 + STRING002
  697.         If (Exist(STRING010)) Then
  698.             BOOLEAN011 = 1
  699.             Return
  700.         Endif
  701.     Else
  702.         STRING022 = Mid(STRING022, 2, Len(STRING022))
  703.         FOpen 4, STRING022, 0, 0
  704.         FSeek 4, 127, 0
  705.         FRead 4, BYTE001, 1
  706.         If (BYTE001 == 1) BOOLEAN005 = 1
  707.         Frewind 4
  708.         If (BOOLEAN005) Then
  709.             FRead 4, INTEGER001, 4
  710.         Else
  711.             FRead 4, INT014, 2
  712.         Endif
  713.         If (STRING020 < "A") STRING020 = "A"
  714.         If (STRING020 > "Z") STRING020 = "Z"
  715.         INT011 = S2I(STRING020, 36) - 9
  716.         If (BOOLEAN005) Then
  717.             FSeek 4, INT011 * 4, 0
  718.             FRead 4, INTEGER002, 4
  719.             FRead 4, INTEGER003, 4
  720.         Else
  721.             FSeek 4, INT011 * 2, 0
  722.             FRead 4, INT012, 2
  723.             INTEGER002 = INT012
  724.             FRead 4, INT012, 2
  725.             INTEGER003 = INT012
  726.         Endif
  727.         If (BOOLEAN005) Then
  728.             If (STRING020 == "Z") INTEGER003 = INTEGER001 + 1
  729.         Else
  730.             If (STRING020 == "Z") INTEGER003 = INT014 + 1
  731.         Endif
  732.         If (STRING020 == "A") INTEGER002 = 0
  733.         BOOLEAN013 = 0
  734.         BOOLEAN011 = 0
  735.         INT016 = INTEGER003
  736.         INT015 = INTEGER002 - 1
  737.         :LABEL032
  738.         If (BOOLEAN013) Goto LABEL033
  739.         REAL001 = INT016
  740.         REAL002 = INT015
  741.         REAL001 = REAL001 / 2
  742.         REAL002 = REAL002 / 2
  743.         REAL003 = REAL001 + REAL002 + 0.5
  744.         INT013 = REAL003
  745.         If (BOOLEAN005) Then
  746.             INTEGER010 = (INT013 - 1) * 19 + 128
  747.         Else
  748.             INTEGER010 = (INT013 - 1) * 13 + 128
  749.         Endif
  750.         FSeek 4, INTEGER010, 0
  751.         FRead 4, STRING023, 8
  752.         FRead 4, STRING024, 3
  753.         STRING023 = RTrim(STRING023, " ")
  754.         STRING024 = RTrim(STRING024, " ")
  755.         STRING021 = STRING023 + "." + STRING024
  756.         If (STRING021 == STRING002) Then
  757.             BOOLEAN011 = 1
  758.             BOOLEAN013 = 1
  759.         ElseIf (INT016 - INT015 < 2) Then
  760.             BOOLEAN013 = 1
  761.         ElseIf (STRING021 < STRING002) Then
  762.             INT015 = INT013
  763.         ElseIf (STRING021 > STRING002) Then
  764.             INT016 = INT013
  765.         Endif
  766.         Goto LABEL032
  767.         :LABEL033
  768.         FClose 4
  769.     Endif
  770.     If (BOOLEAN011) Goto LABEL034
  771.     Goto LABEL031
  772.     Goto LABEL035
  773.     :LABEL034
  774.     Return
  775.     :LABEL035
  776.     If (BOOLEAN002) Goto LABEL036
  777.     Gosub LABEL042
  778.     BOOLEAN002 = 1
  779.     Goto LABEL037
  780.     :LABEL036
  781.     Newline
  782.     :LABEL037
  783.     STRING006 = ""
  784.     PrintLn ReadLine(STRING026, 23)
  785.     PrintLn ReadLine(STRING026, 24)
  786.     STRING004 = ReadLine(STRING026, 25)
  787.     InputStr STRING004, STRING006, 14, 50, Mask_Ascii(), 256
  788.     If (STRING006 == "") Then
  789.         Newline
  790.         Return
  791.     Endif
  792.     Gosub LABEL001
  793.     Tokenize STRING006
  794.     INT005 = TokCount()
  795.     Newline
  796.     For INT007 = 1 To INT005
  797.         STRING010 = GetToken()
  798.         STRING010 = Trim(STRING010, " ")
  799.         If ((S2I(STRING010, 10) < 25) && (S2I(STRING010, 10) > 0)) Then
  800.             STRING011 = STRING010
  801.             STRING010 = "file" + Trim(STRING010, " ")
  802.             STRING011 = "desc" + Trim(STRING011, " ")
  803.             DPut 0, STRING010, "            "
  804.             DPut 0, STRING011, "                    "
  805.             BOOLEAN003 = 1
  806.             Continue
  807.         Endif
  808.         STRING011 = LTrim(String(STRING010), " ")
  809.         PrintLn ReadLine(STRING026, 26), STRING011, ReadLine(STRING026, 27)
  810.     Next
  811.     If (INT005 > 0) Log "User Deleted file(s) from 'Tickle File'", 0
  812.     Newline
  813.     Return
  814.     :LABEL038
  815.     If (BOOLEAN002) Goto LABEL039
  816.     Gosub LABEL042
  817.     BOOLEAN002 = 1
  818.     Goto LABEL040
  819.     :LABEL039
  820.     Newline
  821.     :LABEL040
  822.     STRING006 = ""
  823.     PrintLn ReadLine(STRING026, 23)
  824.     PrintLn ReadLine(STRING026, 24)
  825.     STRING004 = ReadLine(STRING026, 28)
  826.     InputStr STRING004, STRING006, 14, 100, Mask_Ascii(), 256
  827.     Newline
  828.     If (STRING006 == "") Return
  829.     Gosub LABEL001
  830.     Tokenize STRING006
  831.     INT005 = TokCount()
  832.     For INT007 = 1 To INT005
  833.         StartDisp 1
  834.         STRING010 = GetToken()
  835.         If ((S2I(STRING010, 10) < 25) && (S2I(STRING010, 10) > 0)) Then
  836.             STRING011 = STRING010
  837.             STRING010 = "file" + Trim(STRING010, " ")
  838.             STRING013 = "desc" + Trim(STRING011, " ")
  839.             If (DGet(0, STRING010) <> "            ") Then
  840.                 TSTRING012(INT003) = Trim(DGet(0, STRING010), " ")
  841.                 DPut 0, STRING010, "            "
  842.                 DPut 0, STRING013, "                    "
  843.                 Inc INT003
  844.                 BOOLEAN007 = 1
  845.                 Goto LABEL041
  846.             Endif
  847.             PrintLn ReadLine(STRING026, 40), STRING011
  848.             :LABEL041
  849.             Continue
  850.         Endif
  851.         STRING011 = LTrim(String(STRING010), " ")
  852.         PrintLn ReadLine(STRING026, 26), STRING011, ReadLine(STRING026, 27)
  853.     Next
  854.     If (BOOLEAN007) PrintLn ReadLine(STRING026, 29)
  855.     StartDisp 2
  856.     Newline
  857.     Return
  858.     :LABEL042
  859.     StartDisp 1
  860.     Newlines 2
  861.     PrintLn ReadLine(STRING026, 31)
  862.     PrintLn ReadLine(STRING026, 32)
  863.     PrintLn ReadLine(STRING026, 33)
  864.     Newline
  865.     PrintLn ReadLine(STRING026, 34)
  866.     PrintLn ReadLine(STRING026, 35)
  867.     For INT007 = 1 To 24
  868.         STRING010 = DGet(0, DName(0, INT007 + 1))
  869.         STRING013 = DGet(0, DName(0, INT007 + 25))
  870.         If (INT007 < 10) Print " "
  871.         Print "@X0F", INT007, ". @X03", STRING010
  872.         Print Space(2)
  873.         Print "@X02", STRING013
  874.         Print Space(2)
  875.         If (!INT007 % 2) Newline
  876.     Next
  877.     Newlines 2
  878.     StartDisp 2
  879.     BOOLEAN002 = 1
  880.     Return
  881.     :LABEL043
  882.     STRING006 = ""
  883.     Newline
  884.     STRING004 = ReadLine(STRING026, 36)
  885.     InputStr STRING004, STRING006, 14, 1, Mask_Ascii(), 8192 + 16384 + 256 + 8
  886.     If ((STRING006 == "Y") || (STRING006 == YesChar())) Then
  887.         DBlank 0
  888.         DPut 0, "usr_name", STRING007
  889.         Newline
  890.         PrintLn ReadLine(STRING026, 37)
  891.         Log "User DELETED ENTIRE 'Tickle File'", 0
  892.         Delay 36
  893.     Endif
  894.     Newline
  895.     Return
  896.     :LABEL044
  897.     If (Exist(PPEPath() + "tickle.dbf")) Goto LABEL045
  898.     TSTRING001(0) = "usr_name,C,25,0"
  899.     TSTRING001(1) = "file1,C,12,0"
  900.     TSTRING001(2) = "file2,C,12,0"
  901.     TSTRING001(3) = "file3,C,12,0"
  902.     TSTRING001(4) = "file4,C,12,0"
  903.     TSTRING001(5) = "file5,C,12,0"
  904.     TSTRING001(6) = "file6,C,12,0"
  905.     TSTRING001(7) = "file7,C,12,0"
  906.     TSTRING001(8) = "file8,C,12,0"
  907.     TSTRING001(9) = "file9,C,12,0"
  908.     TSTRING001(10) = "file10,C,12,0"
  909.     TSTRING001(11) = "file11,C,12,0"
  910.     TSTRING001(12) = "file12,C,12,0"
  911.     TSTRING001(13) = "file13,C,12,0"
  912.     TSTRING001(14) = "file14,C,12,0"
  913.     TSTRING001(15) = "file15,C,12,0"
  914.     TSTRING001(16) = "file16,C,12,0"
  915.     TSTRING001(17) = "file17,C,12,0"
  916.     TSTRING001(18) = "file18,C,12,0"
  917.     TSTRING001(19) = "file19,C,12,0"
  918.     TSTRING001(20) = "file20,C,12,0"
  919.     TSTRING001(21) = "file21,C,12,0"
  920.     TSTRING001(22) = "file22,C,12,0"
  921.     TSTRING001(23) = "file23,C,12,0"
  922.     TSTRING001(24) = "file24,C,12,0"
  923.     TSTRING001(25) = "desc1,C,15,0"
  924.     TSTRING001(26) = "desc2,C,15,0"
  925.     TSTRING001(27) = "desc3,C,15,0"
  926.     TSTRING001(28) = "desc4,C,15,0"
  927.     TSTRING001(29) = "desc5,C,15,0"
  928.     TSTRING001(30) = "desc6,C,15,0"
  929.     TSTRING001(31) = "desc7,C,15,0"
  930.     TSTRING001(32) = "desc8,C,15,0"
  931.     TSTRING001(33) = "desc9,C,15,0"
  932.     TSTRING001(34) = "desc10,C,15,0"
  933.     TSTRING001(35) = "desc11,C,15,0"
  934.     TSTRING001(36) = "desc12,C,15,0"
  935.     TSTRING001(37) = "desc13,C,15,0"
  936.     TSTRING001(38) = "desc14,C,15,0"
  937.     TSTRING001(39) = "desc15,C,15,0"
  938.     TSTRING001(40) = "desc16,C,15,0"
  939.     TSTRING001(41) = "desc17,C,15,0"
  940.     TSTRING001(42) = "desc18,C,15,0"
  941.     TSTRING001(43) = "desc19,C,15,0"
  942.     TSTRING001(44) = "desc20,C,15,0"
  943.     TSTRING001(45) = "desc21,C,15,0"
  944.     TSTRING001(46) = "desc22,C,15,0"
  945.     TSTRING001(47) = "desc23,C,15,0"
  946.     TSTRING001(48) = "desc24,C,15,0"
  947.     DCreate 0, PPEPath() + "tickle", 0, TSTRING001(BOOLEAN000)
  948.     Goto LABEL046
  949.     :LABEL045
  950.     DOpen 0, PPEPath() + "tickle", 0
  951.     :LABEL046
  952.     Return
  953.     :LABEL047
  954.     Newline
  955.     If (BOOLEAN004) Goto LABEL048
  956.     Print ReadLine(STRING026, 38)
  957.     BOOLEAN004 = 0
  958.     For INT007 = 2 To 25
  959.         STRING010 = DGet(0, DName(0, INT007))
  960.         If (STRING010 == "            ") Then
  961.             For INT006 = INT007 + 1 To 25
  962.                 STRING010 = DGet(0, DName(0, INT006))
  963.                 STRING013 = DGet(0, DName(0, INT006 + 24))
  964.                 If (STRING010 <> "            ") Then
  965.                     DPut 0, DName(0, INT007), STRING010
  966.                     DPut 0, DName(0, INT007 + 24), STRING013
  967.                     DPut 0, DName(0, INT006), "            "
  968.                     DPut 0, DName(0, INT007 + 25), "                    "
  969.                     BOOLEAN004 = 1
  970.                     Break
  971.                     Continue
  972.                 Endif
  973.                 STRING018 = DName(0, INT007 + 25)
  974.                 DPut 0, DName(0, INT007 + 25), "                    "
  975.             Next
  976.         Endif
  977.         If ((STRING010 == "            ") && !BOOLEAN004) Break
  978.     Next
  979.     PrintLn ReadLine(STRING026, 39)
  980.     :LABEL048
  981.     Return
  982.     :LABEL049
  983.     STRING028 = PPEPath() + "TKL" + String(CurConf()) + ".CFG"
  984.     If (Exist(STRING028)) Then
  985.         FOpen 3, STRING028, 0, 0
  986.         FGet 3, STRING011
  987.         STRING011 = Upper(STRING011)
  988.         If (STRING011 == "TRUE") Then
  989.             BOOLEAN012 = 1
  990.             Goto LABEL050
  991.         Endif
  992.         BOOLEAN012 = 0
  993.         :LABEL050
  994.         FGet 3, STRING011
  995.         STRING011 = Upper(STRING011)
  996.         If (STRING011 == "FALSE") Then
  997.             BOOLEAN014 = 0
  998.             Goto LABEL051
  999.         Endif
  1000.         BOOLEAN014 = 1
  1001.         :LABEL051
  1002.         FGet 3, STRING011
  1003.         STRING025 = Trim(STRING011, " ")
  1004.         If (STRING025 <> "") Then
  1005.             If (Right(STRING025, 1) <> "\") STRING025 = STRING025 + "\"
  1006.             Goto LABEL052
  1007.         Endif
  1008.         BOOLEAN014 = 0
  1009.         :LABEL052
  1010.         FClose 3
  1011.     Endif
  1012.     Gosub LABEL053
  1013.     Return
  1014.     :LABEL053
  1015.     STRING027 = ReadLine(PCBDat(), 31)
  1016.     STRING027 = STRING027 + ".@@@"
  1017.     STRING029 = ReadLine(PCBDat(), 186)
  1018.     STRING030 = ReadLine(PCBDat(), 251)
  1019.     FOpen 1, STRING027, 0, 0
  1020.     FRead 1, INT017, 2
  1021.     FSeek 1, CurConf() * INT017 + 515, 1
  1022.     FRead 1, STRING019, 33
  1023.     FClose 1
  1024.     STRING019 = RTrim(STRING019, " ")
  1025.     Return
  1026.     :LABEL054
  1027.     If (STRING035 == "32767") Then
  1028.         PrintLn "@X0CYou have UNLIMITED D/L Bytes - No need to withdrawl any...@X0EStrike any key..."
  1029.         PROC001()
  1030.         Return
  1031.     Endif
  1032.     Newline
  1033.     STRING006 = ""
  1034.     STRING004 = "     @X0AWithdrawl How Many Bytes @X4F[ENTER]@X07 = @X02Quit"
  1035.     InputStr STRING004, STRING006, 14, 9, "0123456789", 4 + 2 + 256
  1036.     If (STRING006 == "") Then
  1037.         Newline
  1038.         Return
  1039.     Endif
  1040.     Newline
  1041.     INTEGER007 = ToInteger(STRING006)
  1042.     If (INTEGER005 <> 0) Then
  1043.         If (INTEGER007 + INTEGER004 > INTEGER005) Then
  1044.             PrintLn "     @X0CYou are trying to withdrawl more than your"
  1045.             Print "     daily amount of @X0E", String(INTEGER005), " Bytes @X0F...... Hit Any Key ......"
  1046.             FPutLn 7, "%%% Withdrawl Bytes: ", INTEGER007, " - TOO MANY DAILY BYTES"
  1047.             PROC001()
  1048.             Newline
  1049.             Goto LABEL054
  1050.         Endif
  1051.     Endif
  1052.     If (INTEGER007 > INTEGER006) Then
  1053.         ClrEol
  1054.         PrintLn "     @X0CSorry, the amount you have entered is @X0AGREATER"
  1055.         Print "     @X0Cthen your current bank balance...@X0FHit any key ......"
  1056.         FPutLn 7, "%%% Withdrawl Bytes: ", INTEGER007, " - TOO MANY BYTES"
  1057.         PROC001()
  1058.         Newline
  1059.         Goto LABEL054
  1060.     Endif
  1061.     If (INTEGER007 <> 0) Then
  1062.         AdjDBytes -INTEGER007
  1063.         INTEGER006 = INTEGER006 - INTEGER007
  1064.         DPut 5, "bankbytes", INTEGER006
  1065.         Print "     @X0F", INTEGER007, " @X0CBytes withdrawn from your account...@X0FHit any key...@X07"
  1066.         FPutLn 7, "%%% Withdrawl Bytes: ", INTEGER007
  1067.         INTEGER004 = INTEGER004 + INTEGER007
  1068.         DPut 5, "bytewd", INTEGER004
  1069.         DPut 5, "bytewddate", String(Date())
  1070.         DPut 5, "last_d_acc", String(Date())
  1071.         PROC001()
  1072.         If (STRING003 == "159") BOOLEAN016 = 1
  1073.     Endif
  1074.     Newline
  1075.     Return
  1076.     :LABEL055
  1077.     If (EvtTimeAdj()) Then
  1078.         PrintLn "     @X0CTime has been adjusted for an upcoming Event.  You cannot"
  1079.         Print "     withdraw any time from your account...@X0FHit any key ......"
  1080.         PROC001()
  1081.         Newline
  1082.         Return
  1083.     Endif
  1084.     Newline
  1085.     STRING006 = ""
  1086.     STRING004 = "     @X0AWithdraw How Much Time @X4F[ENTER]@X07 = @X02Quit"
  1087.     InputStr STRING004, STRING006, 14, 3, "0123456789", 4 + 2 + 256
  1088.     If (STRING006 == "") Then
  1089.         Newline
  1090.         Return
  1091.     Endif
  1092.     Newline
  1093.     INT018 = ToInt(STRING006)
  1094.     If (INT018 > INT004) Then
  1095.         PrintLn "     @X0CSorry, the amount you have entered is @X0EGREATER"
  1096.         Print "     @X0Cthen your bank balance...@X0FHit any key ......"
  1097.         FPutLn 7, "%%%  Withdrawl Time: ", INT018, " - TOO MUCH TIME"
  1098.         PROC001()
  1099.         Newline
  1100.         Goto LABEL055
  1101.     Endif
  1102.     If (INT019 <> 0) Then
  1103.         If (INT018 + INTEGER008 > INT019) Then
  1104.             PrintLn "     @X0CYou are trying to withdrawl more than your"
  1105.             Print "     daily amount of @X0E", String(INT019), " Minutes @X0F...... Hit Any Key ......"
  1106.             FPutLn 7, "%%%  Withdrawl Time: ", INT018, " - TOO MUCH DAILY TIME"
  1107.             PROC001()
  1108.             Newline
  1109.             Goto LABEL055
  1110.         Endif
  1111.     Endif
  1112.     If (INT018 <> 0) Then
  1113.         AdjTime INT018
  1114.         INT004 = INT004 - INT018
  1115.         DPut 5, "banktime", INT004
  1116.         Print "     @X0F", INT018, " @X0CMinutes withdrawn from your account...@X0FHit any key ......@X07"
  1117.         FPutLn 7, "%%%  Withdrawl Time: ", INT018
  1118.         INTEGER008 = INTEGER008 + INT018
  1119.         DPut 5, "timewd", INTEGER008
  1120.         DPut 5, "timewddate", String(Date())
  1121.         DPut 5, "last_d_acc", String(Date())
  1122.         PROC001()
  1123.         Newline
  1124.         If (STRING003 == "138") BOOLEAN016 = 1
  1125.     Endif
  1126.     Newline
  1127.     Return
  1128.     :LABEL056
  1129.     STRING010 = RTrim(ReadLine(PCBDat(), 32), " ")
  1130.     FOpen 5, STRING010, 0, 0
  1131.     While (5) Do
  1132.         FGet 5, STRING011
  1133.         If (Ferr(5)) Break
  1134.         STRING011 = ReplaceStr(STRING011, ",", ";")
  1135.         Tokenize STRING011
  1136.         STRING015 = GetToken()
  1137.         INT006 = GetToken()
  1138.         If (U_Sec == INT006) Then
  1139.             STRING015 = GetToken()
  1140.             STRING035 = GetToken()
  1141.             FPutLn 7, "  Maximum D/L Bytes: ", STRING035
  1142.             Break
  1143.         Endif
  1144.     EndWhile
  1145.     FClose 5
  1146.     Return
  1147.     End
  1148.  
  1149. ;------------------------------------------------------------------------------
  1150.  
  1151.     Procedure PROC001()
  1152.  
  1153.     While (STRING005 == "") Do
  1154.         STRING005 = Inkey()
  1155.         Delay 3
  1156.     EndWhile
  1157.     STRING005 = ""
  1158.  
  1159.     EndProc
  1160.  
  1161.  
  1162. ;------------------------------------------------------------------------------
  1163. ;
  1164. ; Usage report (before postprocessing)
  1165. ;
  1166. ; ■ Statements used :
  1167. ;
  1168. ;    3       End
  1169. ;    1       ClrEol
  1170. ;    11      Wait
  1171. ;    223     Goto 
  1172. ;    280     Let 
  1173. ;    13      Print 
  1174. ;    66      PrintLn 
  1175. ;    162     If 
  1176. ;    9       DispFile 
  1177. ;    1       FCreate 
  1178. ;    8       FOpen 
  1179. ;    1       FAppend 
  1180. ;    8       FClose 
  1181. ;    6       FGet 
  1182. ;    22      FPutLn 
  1183. ;    4       StartDisp 
  1184. ;    1       GetUser
  1185. ;    1       Delete 
  1186. ;    1       AdjTime 
  1187. ;    17      Log 
  1188. ;    13      InputStr 
  1189. ;    1       InputYN 
  1190. ;    44      Gosub 
  1191. ;    47      Return
  1192. ;    3       Delay 
  1193. ;    1       Inc 
  1194. ;    70      Newline
  1195. ;    10      Newlines 
  1196. ;    6       Tokenize 
  1197. ;    1       KbdStuff 
  1198. ;    1       KbdFile 
  1199. ;    1       SaveScrn
  1200. ;    1       RestScrn
  1201. ;    2       SPrintLn 
  1202. ;    2       Frewind 
  1203. ;    5       FSeek 
  1204. ;    11      FRead 
  1205. ;    1       AdjDBytes 
  1206. ;    1       EndProc
  1207. ;    1       DCreate 
  1208. ;    2       DOpen 
  1209. ;    4       DClose 
  1210. ;    1       DLockR 
  1211. ;    2       DUnlock 
  1212. ;    1       DnCreate 
  1213. ;    2       DnOpen 
  1214. ;    4       DnCloseAll 
  1215. ;    1       DNew 
  1216. ;    1       DAdd 
  1217. ;    2       DBlank 
  1218. ;    2       DSeek 
  1219. ;    23      DPut 
  1220. ;
  1221. ;
  1222. ; ■ Functions used :
  1223. ;
  1224. ;    1       -
  1225. ;    5       *
  1226. ;    2       /
  1227. ;    1       %
  1228. ;    129     +
  1229. ;    11      -
  1230. ;    79      ==
  1231. ;    23      <>
  1232. ;    19      <
  1233. ;    11      <=
  1234. ;    14      >
  1235. ;    23      >=
  1236. ;    122     !
  1237. ;    32      &&
  1238. ;    20      ||
  1239. ;    6       Len(
  1240. ;    8       Upper()
  1241. ;    3       Mid()
  1242. ;    3       Left()
  1243. ;    1       Right()
  1244. ;    2       Space()
  1245. ;    3       Ferr()
  1246. ;    3       Chr()
  1247. ;    6       InStr()
  1248. ;    10      LTrim()
  1249. ;    6       RTrim()
  1250. ;    13      Trim()
  1251. ;    6       Date()
  1252. ;    1       Time()
  1253. ;    3       U_Name()
  1254. ;    3       YesChar()
  1255. ;    1       Inkey()
  1256. ;    21      String()
  1257. ;    1       Mask_Alpha()
  1258. ;    6       Mask_Ascii()
  1259. ;    2       CurConf()
  1260. ;    4       PCBDat()
  1261. ;    19      PPEPath()
  1262. ;    4       PcbNode()
  1263. ;    56      ReadLine()
  1264. ;    22      GetToken()
  1265. ;    7       Exist()
  1266. ;    1       I2S()
  1267. ;    9       S2I()
  1268. ;    1       LangExt()
  1269. ;    5       TokCount()
  1270. ;    2       ReplaceStr()
  1271. ;    2       ToInteger()
  1272. ;    3       ToInt()
  1273. ;    1       Mixed()
  1274. ;    1       EvtTimeAdj()
  1275. ;    2       DErr()
  1276. ;    13      DName()
  1277. ;    1       DRecCount()
  1278. ;    17      DGet()
  1279. ;    2       DChkStat()
  1280. ;
  1281. ;------------------------------------------------------------------------------
  1282. ;
  1283. ; Analysis flags : Aad
  1284. ;
  1285. ; A - Adjust online time remaining ■ 5
  1286. ;     Program modify the amount of online time remaining, this may
  1287. ;     be a way to bypass time limits
  1288. ;     ■ Search for : ADJTIME
  1289. ;
  1290. ; a - Adjust ratio ■ 4
  1291. ;     User's ratio is adjusted by changing the amount of files/bytes
  1292. ;     uploaded. This may be normal for a user editor.
  1293. ;     ■ Search for : ADJBYTES, ADJDBYTES, ADJTBYTES, ADJTFILES
  1294. ;
  1295. ; d - Access PCBOARD.DAT ■ 2
  1296. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  1297. ;     for many PPE so they can find various informations on the system
  1298. ;     (system paths, max number of lines in messages, ...) but it may also
  1299. ;     be a way to gather vital informations.
  1300. ;     ■ Search for : PCBDAT()
  1301. ;
  1302. ;------------------------------------------------------------------------------
  1303. ;
  1304. ; Postprocessing report
  1305. ;
  1306. ;    11      For/Next
  1307. ;    3       While/EndWhile
  1308. ;    75      If/Then or If/Then/Else
  1309. ;    4       Select Case
  1310. ;
  1311. ;------------------------------------------------------------------------------
  1312. ;                 AEGiS Corp - Break the routines, code against the machines!
  1313. ;------------------------------------------------------------------------------
  1314.